home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / I-Info Magazine / (c)i20.d64 / b.a.sda / FILE COPIER (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  3KB  |  117 lines

  1. 10 REM *** FILE COPIER   VERSION 10/04/87 ***
  2. 15 CLR:GOTO30
  3. 20 POKE53265,11:PRINT#15,"UI-":RETURN
  4. 25 POKE53265,27:PRINT#15,"UI+":RETURN
  5. 30 POKE55,0:POKE56,24:CLR
  6. 35 PG=24:MX=PEEK(56)
  7. 40 Z$=CHR$(0):Q$=CHR$(34)
  8. 45 POKE53280,0:POKE53281,0
  9. 50 PRINTCHR$(14);CHR$(8)
  10. 55 DIMF$(MX),F(MX),T(MX)
  11. 60 FORI=828TO922:READA:POKEI,A:NEXT
  12. 65 PRINT"[147][154]       [211][201][206][199][204][197] [196][201][211][203] [198][201][204][197] [195][207][208][201][197][210]         "
  13. 70 PRINT"[158][208]LEASE INSERT THE [211][207][213][210][195][197][158]  DISKETTE INTO"
  14. 75 PRINT"THE DISK DRIVE,THEN PRESS  [210][197][212][213][210][206] "
  15. 80 GETA$:IFA$<>CHR$(13)THEN80
  16. 85 OPEN15,8,15,"I0"
  17. 90 INPUT" [198]ILENAMES TO MATCH ? *[158][157][157][157]";F$
  18. 95 IFRIGHT$(F$,1)<>"*"THENF$=F$+"*"
  19. 100 GOSUB490:IFEGOTO470
  20. 105 OPEN1,8,0,"$0:"+F$:GOSUB490
  21. 110 IFETHENPRINT"[154] IMPOSSIBLE TO READ DIRECTORY [146]":GOTO470
  22. 115 PRINT" [158]'[195][158]' TO COPY FILE    '[210][158]' TO REJECT FILE  ";
  23. 120 PRINT"'[194][158]' TO BEGIN COPY   '[193][158]' TO ABORT COPY"
  24. 125 GET#1,A$,B$:N=0:AD=PG*256
  25. 130 GET#1,A$,B$:IFB$=""GOTO235
  26. 135 GET#1,A$,B$:F$=""
  27. 140 SZ=ASC(A$+Z$)+ASC(B$+Z$)*256
  28. 145 GET#1,A$:IF64ANDSTGOTO235
  29. 150 IFA$<>Q$GOTO145
  30. 155 GET#1,A$:IFA$<>Q$THENF$=F$+A$:GOTO155
  31. 160 GET#1,A$:IFA$<>" "GOTO160
  32. 165 GET#1,T$:IFT$=" "GOTO165
  33. 170 GET#1,A$:IFA$<>""GOTO170
  34. 175 IFSZ=0OR(T$<>"P"ANDT$<>"S")GOTO130
  35. 180 PRINTSZ;TAB(5)T$" "Q$F$Q$TAB(26);
  36. 185 IFAD+SZ*256>65535THENPRINT"[212][207][207] [204][193][210][199][197]":GOTO130
  37. 190 PRINT"_ C:R:B:A?[146][157][157][157][157][157][157][157][157]";
  38. 195 GETA$:IFA$=""GOTO195
  39. 200 IFA$="R"THENPRINT"[154]REJECT FILE":GOTO130
  40. 205 IFA$="B"THENPRINT"[154]BEGIN COPY":GOTO235
  41. 210 IFA$="A"THENPRINT"[154]ABORT COPY":GOTO455
  42. 215 IFA$<>"C"GOTO195
  43. 220 N=N+1:F$(N)=F$+","+T$:PRINT"[154]COPY FILE "
  44. 225 AD=AD+SZ*256:IFN<MXGOTO130
  45. 230 PRINT" [205]AXIMUM OF";MX;"FILES."
  46. 235 CLOSE1:PL$="S":IFN=1THENPL$=""
  47. 237 PRINT"[158]";N;"FILE";PL$;" TO READ"
  48. 240 AD=PG*256:IFN=0GOTO470
  49. 245 FORI=1TON
  50. 250 PRINT" ";Q$;F$(I);Q$;TAB(20);
  51. 255 SZ=INT(AD/256)
  52. 260 POKE251,AD-SZ*256:POKE252,SZ
  53. 265 OPEN1,8,2,"0:"+F$(I):GOSUB490
  54. 270 IFE=74THENCLOSE1:N=I-1:GOTO310
  55. 275 IFETHENCLOSE1:F$(I)="":GOTO305
  56. 280 GOSUB20:SYS831:GOSUB490:CLOSE1:GOSUB25:IFE=74THENN=I-1:GOTO310
  57. 285 IFETHENF$(I)="":GOTO305
  58. 290 IFPEEK(252)=208THENF$(I)="":PRINT"[212][207][207] [204][193][210][199][197][146]":GOTO305
  59. 295 F(I)=AD:AD=PEEK(251)+PEEK(252)*256:T(I)=AD
  60. 300 PRINTRIGHT$("   "+STR$(T(I)-F(I)),5);" BYTES OF MEM"
  61. 305 NEXTI
  62. 310 IFN=0GOTO460
  63. 315 POKE53281,0:POKE53280,0:PRINT"[158][208]LEASE INSERT THE [196][197][211][212][201][206][193][212][201][207][206][158] DISKETTE"
  64. 320 INPUT"[198][207][210][205][193][212][158] THIS DISKETTE  N[158][157][157][157]";A$
  65. 325 PRINT
  66. 330 IFA$<>"Y"GOTO350
  67. 335 INPUT" [196]ISK NAME,ID";F$,T$
  68. 340 PRINT#15,"N0:"+F$+","+T$
  69. 345 PRINT:GOSUB490:IFEGOTO310
  70. 350 FORI=1TON
  71. 355 IFF$(I)=""GOTO440
  72. 360 PRINT" ";Q$;F$(I);Q$;TAB(20);
  73. 365 OPEN1,8,2,F$(I)+",W"
  74. 370 GOSUB490:IFE=0GOTO405
  75. 375 CLOSE1:IFE=63THEN385
  76. 385 PRINT:INPUT" [210][197][208][204][193][195][197][158] EXISTING FILE [157]? N[158][157][157][157]";A$
  77. 390 PRINT
  78. 395 IFA$<>"Y"GOTO440
  79. 400 PRINT#15,"S0:"+F$(I):GOTO360
  80. 405 SZ=INT(F(I)/256)
  81. 410 POKE251,F(I)-SZ*256:POKE252,SZ
  82. 415 SZ=INT(T(I)/256)
  83. 420 POKE253,T(I)-SZ*256:POKE254,SZ
  84. 425 GOSUB20:SYS828:GOSUB490:CLOSE1:GOSUB25:IFE=72ORE=74GOTO445
  85. 430 IFEGOTO440
  86. 435 PRINTRIGHT$("   "+STR$(T(I)-F(I)),5);" BYTES OF MEM"
  87. 440 NEXTI
  88. 445 INPUT"[158] [211]AVE SAME PROGRAMS AGAIN? N[158][157][157][157]";A$
  89. 450 IFA$="Y"GOTO310
  90. 455 CLOSE15:CLOSE1
  91. 460 POKE53280,0:POKE53281,0:INPUT"[158] [205]ORE PROGRAMS TO COPY? Y[158][157][157][157]";A$
  92. 465 IFA$="Y"THEN CLOSE15:CLOSE1:GOTO65
  93. 470 PRINTTAB(10)"***[158] [197][206][196] [207][198] [195][207][208][217] ***[158]"
  94. 475 PRINT"[194]ANK [193]CCOUNTS IN DRIVE?...PRESS  [210][197][212][213][210][206] [145]"
  95. 480 GETAN$:IFAN$<>CHR$(13)THEN480
  96. 485 PRINTCHR$(9);:POKE56,160:GOTO565
  97. 490 INPUT#15,E,E$,E1,E2
  98. 495 IFE=0THENRETURN
  99. 500 EE$=MID$(STR$(E),2):E1$=MID$(STR$(E1),2):E2$=MID$(STR$(E2),2)
  100. 505 IFE=63THENRETURN
  101. 510 PRINT:PRINT"";EE$;",";E$;",";E1$;",";E2$
  102. 515 DATA56,176,38,162,1,32,198,255,32,228
  103. 520 DATA255,160,0,32,143,3,145,251,32,149
  104. 525 DATA3,230,251,208,7,230,252,141,32,208
  105. 530 DATA240,6,165,144,41,64,240,226,76,204
  106. 535 DATA255,162,1,32,201,255,32,143,3,160
  107. 540 DATA0,177,251,32,149,3,32,210,255,230
  108. 545 DATA251,208,5,230,252,141,32,208,165,251
  109. 550 DATA197,253,208,228,165,252,197,254,208,222
  110. 555 DATA76,204,255,120,162,52,134,1,96,162
  111. 560 DATA55,134,1,88,96
  112. 565 POKE53280,0:POKE53281,0:PRINT"[147][144]"
  113. 570 H$="B.A. UTIL.":POKE198,4
  114. 575 PRINT"[147]LOAD"CHR$(34)H$;
  115. 580 PRINT CHR$(34)",8";
  116. 585 POKE631,13:POKE632,82:POKE633,117:POKE634,13:END
  117.